let prefix="http://localhost:8080/";
function loadTable() {
    $('#courseTable').bootstrapTable({
        method : 'get',
        url : "/webapi/course/list",//请求路径
        striped : true, //是否显示行间隔色
        pageNumber : 1, //初始化加载第一页
        pagination : true,//是否分页
        sidePagination : 'server',//server:服务器端分页|client：前端分页
        pageSize : 5,//单页记录数
        pageList : [ 5, 10, 20, 30 ],//可选择单页记录数
        showRefresh : false,//刷新按钮
        queryParams : function(params) {//上传服务器的参数
            return {//如果是在服务器端实现分页，limit、offset这两个参数是必须的
                limit: params.limit, // 每页显示数量
                offset: params.offset, // SQL语句起始索引
                page : (params.offset / params.limit) + 1, //当前页码

                Name: $('#search_name').val(),
                Tel: $('#search_tel').val()
            };
        },
        columns : [ {
            title : '学生ID',
            field : 'id',
            sortable : true
        }, {
            title : '姓名',
            field : 'name',
            sortable : true
        }, {
            title : '学号',
            field : 'no',
        }, {
            title : '高数',
            field : 'highn',
        },{
            title: '线性代数',
            field: 'lineg'

        },{
            title : '计算机组成原理',
            field : 'pcc',
        },{
            title: "所属学院",
            field: 'academy'
        }, {
            title: '操作',
            formatter: operateFormatter // 自定义操作列
        }]
    })
}
// 自定义操作列的渲染函数
function operateFormatter(value, row) {
    return [
        '<button type="submit" class="btn btn-success" onclick="getCourse('+ row.id +')">更新</button>',
    ].join('');
}

let getId = null;
function getCourse(id){
    $("#myModal").modal("show");
    $.ajax({
        url:"/webapi/course/getdata/"+id,
        method:"get",
        success:function (rs) {
            $("#name").val(rs.name);
            $("#no").val(rs.no)
            $("#highn").val(rs.highn);
            $("#lineg").val(rs.lineg);
            $("#pcc").val(rs.pcc);
            $("#academy").val(rs.academy)
        }
    });
    getId = id;
}
function updateCourse(id){
    const newCourse = decodeURIComponent($("#formCourse").serialize());
    console.log(newCourse)
    if(!validateForm()){
        return;
    }
    if(id) {
        $.ajax({
            url: "/webapi/course/update/" + id,
            method: "put",
            data: newCourse,
        }).done(function () {
            $("#myModal").modal("hide");
            $('#courseTable').bootstrapTable('refresh');
        })
    }
}
function searchCourse(){
    let no = document.getElementById('studentNoInput').value;  // 获取输入的学号
    if (no) {
        $.ajax({
            type: 'GET',
            url: '/webapi/course/search/'+no,
            success: function(data) {
                $('#courseTable').bootstrapTable({
                    data: data,
                    striped: true,
                    pagination: true,
                    pageSize: 3,
                    pageList: [5, 10, 20, 30],
                    columns : [ {
                        title : '学生ID',
                        field : 'id',
                        sortable : true
                    }, {
                        title : '姓名',
                        field : 'name',
                        sortable : true
                    }, {
                        title : '学号',
                        field : 'no',
                    }, {
                        title : '高数',
                        field : 'highn',
                    },{
                        title: '线性代数',
                        field: 'lineg'

                    },{
                        title : '计算机组成原理',
                        field : 'pcc',
                    },{
                        title: "所属学院",
                        field: 'academy'
                    },{
                        title: '操作',
                        formatter: operateFormatter // 自定义操作列
                    }]
                });
            }
        });
    }
}
$("#save").on("click",function (event){
    event.preventDefault();
    if(getId!=null){
        updateCourse(getId);
    }
    console.log(getId)
})

// 表单验证函数
function validateForm() {
    let isValid = true;


    const highnInput = $("#highn").val().trim();
    const highnError = $("#highnError");
    if (highnInput.length === 0) {
        highnError.text('高数不能为空！');
        isValid = false;
    } else {
        highnError.text('');
    }

    const linegInput = $("#lineg").val().trim();
    const linegError = $("#linegError");
    if (linegInput.length === 0) {
        linegError.text('线代不能为空！');
        isValid = false;
    } else {
        linegError.text('');
    }

    const pccInput = $("#pcc").val().trim();
    const pccError = $("#pccError");
    if (pccInput.length === 0) {
        pccError.text('计组不能为空！');
        isValid = false;
    } else {
        pccError.text('');
    }

    const academyInput = $("#academy").val().trim();
    const academyError = $("#academyError");
    if (academyInput.length === 0) {
        academyError.text('学院不能为空！');
        isValid = false;
    } else {
        academyError.text('');
    }

    return isValid;
}
$(function(){
    loadTable()
})